next up previous
Next: 2.2 OpenGL as a Up: 2 Justification Previous: 2 Justification

2.1 Render Service Applications

A hardware-accelerated render service is appropriate for a wide range of rendering applications including:

Hybrid 3D viewers.
Combining the interactivity of inexpensive low-end 3D workstations with a render server permits hybrid applications that trade-off interactivity and rendering quality as appropriate to the application. When the user of such a hybrid application interacts with a 3D model, a simplified representation can be rendered directly by the low-end workstation to achieve fast, interactive display rates (by disabling texture mapping, using coarse tessellation, rendering as wireframe, etc.). However, the render service can provide detailed, textured, antialiased renderings at sub-second latency whenever the model is displayed statically.

For example, a computer aided design program might show the design in wireframe when the user manipulates the design, but when the user stops the manipulation, the design is quickly re-rendered with more detail. Other similar applications include VRML browsing and volume rendering.

3D printing.
Printing 3D graphics is complicated because the programming interfaces targeted for the display of interactive 3D graphics rarely have good support for printing. Demands for performance, fidelity to the on-screen appearance, and the higher resolutions often demanded for printing all make printing 3D scenes difficult. A render service can address these issues by off-loading rendering to fast 3D hardware with large rectangular frame buffer regions.

An application can redirect its on-screen rendering commands to a render service, then read back the rendered image to send to a printer. A print server could automatically convert Inventor or VRML metafiles submitted for printing to a 2D image using a render service and then pass the resulting image to the printer.

Movie sequence rendering.
A succession of 3D scenes forming a computer animated movie could be rendered with reasonably high quality by a render service. For example, animators at a computer animation firm could submit movie rendering jobs to the render service, and later retrieve the rendered movie sequences. This lets animators review their work rendered quickly at good quality levels before submission for slower, expensive, higher quality final rendering.

Fast data and image analysis.
Many applications such as satellite image analysis, medical imaging, and seismic analysis use image processing and 3D rendering techniques like volume rendering [3], 3D geometry recognition from 2D images, and shadow map generation [9] that can benefit from fast 3D hardware supporting image processing and high-quality texture mapping capabilities but do not require or expect immediacy, making these applications suitable for scheduling through a render service.

While they do not demand the immediacy that justifies an expensive 3D graphics hardware accelerator, all these applications can benefit from access to such hardware. A render service that amortizes the hardware cost across multiple application instances while delivering improved performance can make the use of expensive hardware viable for these applications.

What these various applications share is a common demand: accelerated rendering access to rectangular frame buffer regions. This should be the fundamental service provided by a render service.



next up previous
Next: 2.2 OpenGL as a Up: 2 Justification Previous: 2 Justification



Mark Kilgard
Fri Jan 5 18:13:30 PST 1996